The subject matter discussed in the background section should not be assumed to be prior art merely as a result of its mention in the background section. Similarly, a problem mentioned in the background section or associated with the subject matter of the background section should not be assumed to have been previously recognized in the prior art. The subject matter in the background section merely represents different approaches, which in and of themselves may also correspond to embodiments of the claimed inventions.
In a hosted computing environment there exists a wide array of customers which may utilize a database provided by the hosted computing environment. Because there is a wide array of customers, there is also a wide array of needs which must be satisfied for those customers if the hosted computing environment is to be economically viable. That is to say, the database system provided to and made accessible for the wide array of customers may provide sufficient functionality and capability to satisfy those customers' needs.
Conventional database systems provide a variety of types for the columns of the database system. In computer science and computer programming, a datatype or simply a “type” is a classification identifying one of various types of data, such as real, integer or Boolean, which determines the possible values for that type, permissible operations that can be done on values of that type, the meaning of the data for a given type, and the manner by which values of a given type are stored. Common datatypes include: integers, booleans, characters, floating-point numbers, and alphanumeric strings.
As used herein, the terms “fields” and “field types” and “column types” and “database columns” may be used interchangeably as they each refer to the same thing, specifically, the defined classification identifying one of various types of data for the column and its fields, regardless of whether it is a custom defined or a pre-existing defined datatype.
Prior systems permitted users of database systems to specify lists of other column types, resulting in a compound of column types, however, there are presently no means by which users of a database system may permissibly specify their own field types for columns of a database system in which the field types are defined via custom metadata types.
Notwithstanding the lack of such functionality, customers may nevertheless desire to specify their own type for columns in a different way than presently available and pre-existing defined column types accessible to them, including the combination, compound, or list of pre-existing defined column types.
For instance, customers may desire to specify types that behave a different way than those pre-existing defined column types and the customers may desire for others, such as other programmers and developers having access to the database system, to be able to declare fields of their custom defined column type.
Further still, users of such a database system may wish to utilize custom defined field types in a simple declarative manner such that they may simplify the use of their custom defined field types by others and such that, when used, their custom defined field types will behave according to their own customized code in which the behavior of the custom defined field types operate according to what others, such as developers and programmers, are declaring.
The present state of the art may therefore benefit from the systems, methods, and apparatuses for implementing field types which are defined via custom metadata types within a computing environment as is described herein.